package org.comple.erp.pojo.finance;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.comple.erp.pojo.procurement.Procurement;
import org.hibernate.validator.constraints.Length;

/**
* 
* @TableName payment
*/
public class Payment implements Serializable {

    /**
    * 
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private String payment_id;
    /**
    * 
    */
    @ApiModelProperty("")
    private String supplier_id;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String payment_code;
    /**
    * 
    */
    @ApiModelProperty("")
    private BigDecimal amount;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String payment_method;
    /**
    * 
    */
    @ApiModelProperty("")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date payment_date;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer status;
    /**
    * 
    */
    @ApiModelProperty("")
    private String account_id;
    /**
    * 
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("")
    @Length(max= 50,message="编码长度不能超过50")
    private String company_code;
    private String auditor;
    private Date audit_date;
    private int isdel;
    private String type;
    private BigDecimal written_off_amount;
    private BigDecimal current_written_off_all_amount;
    private List<PaymentAccount> paymentAccountList;
    private List<PaymentDetails> paymentDetailsList;
    private List<Account> accountList;
    private List<Procurement> procurementList;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getIsdel() {
        return isdel;
    }

    public void setIsdel(int isdel) {
        this.isdel = isdel;
    }

    public String getPayment_id() {
        return payment_id;
    }

    public void setPayment_id(String payment_id) {
        this.payment_id = payment_id;
    }

    public BigDecimal getCurrent_written_off_all_amount() {
        return current_written_off_all_amount;
    }

    public void setCurrent_written_off_all_amount(BigDecimal current_written_off_all_amount) {
        this.current_written_off_all_amount = current_written_off_all_amount;
    }

    public String getSupplier_id() {
        return supplier_id;
    }

    public void setSupplier_id(String supplier_id) {
        this.supplier_id = supplier_id;
    }

    public String getPayment_code() {
        return payment_code;
    }

    public void setPayment_code(String payment_code) {
        this.payment_code = payment_code;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPayment_method() {
        return payment_method;
    }

    public void setPayment_method(String payment_method) {
        this.payment_method = payment_method;
    }

    public Date getPayment_date() {
        return payment_date;
    }

    public void setPayment_date(Date payment_date) {
        this.payment_date = payment_date;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getAuditor() {
        return auditor;
    }

    public void setAuditor(String auditor) {
        this.auditor = auditor;
    }

    public Date getAudit_date() {
        return audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    public String getAccount_id() {
        return account_id;
    }

    public void setAccount_id(String account_id) {
        this.account_id = account_id;
    }

    public String getCompany_code() {
        return company_code;
    }

    public void setCompany_code(String company_code) {
        this.company_code = company_code;
    }

    public List<PaymentAccount> getPaymentAccountList() {
        return paymentAccountList;
    }

    public void setPaymentAccountList(List<PaymentAccount> paymentAccountList) {
        this.paymentAccountList = paymentAccountList;
    }

    public List<PaymentDetails> getPaymentDetailsList() {
        return paymentDetailsList;
    }

    public void setPaymentDetailsList(List<PaymentDetails> paymentDetailsList) {
        this.paymentDetailsList = paymentDetailsList;
    }

    public List<Account> getAccountList() {
        return accountList;
    }

    public void setAccountList(List<Account> accountList) {
        this.accountList = accountList;
    }

    public BigDecimal getWritten_off_amount() {
        return written_off_amount;
    }

    public void setWritten_off_amount(BigDecimal written_off_amount) {
        this.written_off_amount = written_off_amount;
    }

    public List<Procurement> getProcurementList() {
        return procurementList;
    }

    public void setProcurementList(List<Procurement> procurementList) {
        this.procurementList = procurementList;
    }
}
